package org.example.config;

import org.example.interceptor.JwtInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 自定义拦截器，放开swagger请求
 */
@Configuration
public class MvcConfig implements WebMvcConfigurer {

    @Bean
    public JwtInterceptor jwtInterceptor() {
        return new JwtInterceptor();
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 除了swagger和登录，其他全部拦截验证jwt
        registry.addInterceptor(jwtInterceptor())
                .addPathPatterns("/**")
                .excludePathPatterns("/**");
//                .excludePathPatterns(
//                        "/**/webjars/swagger-ui/5.2.0/index.html",
//                        "/**/*.html",
//                        "/**/*.js",
//                        "/**/*.css",
//                        "/**/*.woff",
//                        "/**/*.ttf",
//                        "/**/*.js",
//                        "/**/*.map",
//                        "/**/*.png",
//                        "/**/v3/api-docs", // 如果配置里改了，这里也记得修改
//                        "/**/v3/api-docs/swagger-config",
//                        "/login"
//                ); // 登录接口
    }
}

